#include "com.hpp"

void test1()
{
    //1、创建key值
    key_t key = Getkey();
    cout<<"Getkey():"<<key<<endl;

    //2、创建共享内存
    int shmid = CreatShm(key,shmsize);
    cout<<"CreatShm(key,shmsize),shmid:"<<shmid<<endl;

    //3、server进程拿到共享内存的起始地址，进行关联
    char* start = AttachShm(shmid);
    start[0] = 0;


    //int cont = 0;
    while(1)
    {
        cout<<"client->server#"<<start<<endl;
        sleep(1);

        //让客户决定是否退出
         if(strcasecmp(start,"EXIT") == 0) break;
        
    }

    //通信代码。。。。。

    //4、server进程和共享内存解除关联
    DetachShm(start);


    //5、释放共享内存
    DelShm(shmid);


}

void test2()
{
    Shm t(1);
    char* start = t.GetStart();
    while(1)
    {
        cout<<"client->server#"<<start<<endl;
        sleep(1);

        //让客户决定是否退出
         if(strcasecmp(start,"EXIT") == 0) break;
        
    }

}


//共享内存分为三步
//1、先建立，然后让其链接
//2、客户发，服务器接受
//3、客户先关闭，服务器再关
int main()
{
    //test1();//无封装

    test2();//有封装

    return 0;
}